package com.bestcem.xm.award.controller.dto;

import com.bestcem.xm.award.enums.WinCodeStatusEnum;
import com.bestcem.xm.award.service.dto.FileInfoDTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;

/**
 * 兑奖码数据传输DTO
 * @author sh.pei <sh.pei@idiaoyan.com>
 * @version v3.0
 * @date 2021/8/18 13:40
 */
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class WinDataDTO implements Serializable {

    /**
     * Required. 兑奖码数据传输方式 {@link WinCodeStatusEnum}
     */
    private Integer status;

    /**
     * Optional. award_temp表id 选填 新增和修改抽奖奖励时使用
     */
    @JsonProperty(value = "temp_id")
    private String tempId;

    /**
     * 兑奖码列表
     */
    @NotEmpty(message = "兑奖码列表缺失")
    @Valid
    private List<AwardWinDTO> wins;

    /**
     * Optional. oss传输兑奖码数据,预留暂不使用
     */
    private FileInfoDTO file;

}
